<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
</html>
<script>
    const p = new Promise((resolve,reject) => {
        setTimeout(() => {
            reject('接受失败,reject,2000')
        },2000)
    })
    const p1 = new Promise((resolve,reject) => {
        setTimeout(() => {
            resolve('接受成功,resolve,1000')
        },1000)
    })
    const p2 = new Promise((resolve,reject) => {
        setTimeout(() => {
            resolve('接受成功,resolve,3000')
        },3000)
    })

    //All 当所有 p（resolve）接收成功 的 promise 成功后 再执行 Promise.all 输出所有成功 的数据
    //只要 碰到 一个 （reject）失败的 promise 直接输出 这一个失败的 p 的数据

    /*
    const all = Promise.all([p1,p2])
    all.then(res => {console.log(res);})
    .catch(res => {console.log(res);})
    */


    //allSettled 即便 其中 有 reject 也不会 停止 而是 全部 运行完之后 把所有 数据（resolve，reject） 全部输出

    /*
    const allSettled = Promise.allSettled([p,p1,p2])
    allSettled.then(res => {console.log(res);})
    .catch(res => {console.log(res);})
    */

    //race  其中的 哪个 P 先 resolve 或者 reject 就先 输出谁

    /*
    const race = Promise.race([p,p2])
    race.then(res => {console.log(res);})
    .catch(res => {console.log(res);})
    */



</script>